package com.huaxin.crm.web.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.huaxin.crm.pojo.HxDept;
import com.huaxin.crm.pojo.HxDeptExample;
import com.huaxin.crm.pojo.HxEmployee;
import com.huaxin.crm.pojo.HxEmployeeExample;
import com.huaxin.crm.pojo.HxEmployeeExample.Criteria;
import com.huaxin.crm.service.HxDeptService;
import com.huaxin.crm.service.HxEmployeeService;

/**
 *
 * @版权: Copyright (c) 2016-2017 ****公司技术开发部
 * @author :Steven Liu
 * @E-mail:1661105301@qq.com
 * @版本: 1.0
 * @创建日期: 2018年1月9日 下午7:57:22
 * @ClassName HxEmployeeController
 * @类描述-Description: TODO
 * @修改记录:
 * @版本: 1.0
 */
@Controller
@RequestMapping("employee")
public class HxEmployeeController {

	@Autowired
	HxEmployeeService employeeService;
	@Autowired
	HxDeptService hxDeptService;

	@RequestMapping("listAll")
	public String listAll(Model model) {
		/** 第一步： 准备数据 **/
		HxEmployeeExample example = new HxEmployeeExample();
		Criteria createCriteria = example.createCriteria();
		createCriteria.andStatusEqualTo(1);
		List<HxEmployee> list = employeeService.selectByExample(example);
		model.addAttribute("list", list);
		return "employee/listAll";
	}

	@RequestMapping("del")
	@ResponseBody
	public String del(HxEmployee bean) {
		/** 第一步： 准备数据 **/
		// HxEmployeeExample example= new HxEmployeeExample();
		bean.setStatus(3);
		employeeService.updateByPrimaryKeySelective(bean);
		return "ok";
	}

	@RequestMapping("toUpdateUI/{id}")
	public String toUpdateUI(Model model, @PathVariable String id) {
		/** 第一步： 准备数据 **/
		HxEmployee bean = employeeService.selectByPrimaryKey(id);
		model.addAttribute("bean", bean);
		/** 第二步： 部门查询 **/
		HxDeptExample example = new HxDeptExample();
		List<HxDept> depts = hxDeptService.selectByExample(example);
		model.addAttribute("depts", depts);
		return "employee/update";
	}

	@RequestMapping("update")
	@ResponseBody
	public String update(Model model, HxEmployee bean) {
		// 重新设置部门,应为界面提交过来只有一个deptId deptName
		String deptName = hxDeptService.selectByPrimaryKey(bean.getDeptId())
				.getName();
		bean.setDeptName(deptName);
		/** 第一步： 准备数据 **/
		employeeService.updateByPrimaryKeySelective(bean);
		System.out.println(bean);
		return "forward:listAll";
	}
}
